package com.lonely.inventory.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lonely.inventory.domain.dto.stockup.flowwater.StockUpInventoryFlowWaterPageQueryDto;
import com.lonely.inventory.domain.entity.SysStockUpInventory;
import com.lonely.inventory.domain.entity.SysStockUpInventoryFlowWater;
import com.lonely.inventory.domain.entity.SysStockUpInventorySizeInfo;
import com.lonely.inventory.domain.vo.stockup.flowwater.StockUpInventoryFlowWaterPageQueryVo;
import com.lonely.inventory.enums.StockUpInventoryEnum;

import java.util.List;

/**
 * @author : 黄志标
 * @date: 2025/9/26 13:24
 * @description: 备货库存流水 服务
 */
public interface IStockUpInventoryFlowWaterService extends IService<SysStockUpInventoryFlowWater> {

    /**
     * 分页查询
     *
     * @param queryDto
     * @return
     */
    Page<StockUpInventoryFlowWaterPageQueryVo> page(StockUpInventoryFlowWaterPageQueryDto queryDto);

    /**
     * 添加流水
     *
     * @param stockUpInventory
     * @param newStockUpInventorySizeInfos
     */
    void addFlowWater(SysStockUpInventory stockUpInventory,
                      StockUpInventoryEnum.StockUpInventoryOperationType operationType,
                      List<SysStockUpInventorySizeInfo> oldStockUpInventorySizeInfos,
                      List<SysStockUpInventorySizeInfo> newStockUpInventorySizeInfos);
}
